Namespacing everything to /UVa.
[and.git] / UVa / 10446 - The marriage interview / 10446.cpp
blob04d018cc2ad9075fd8f670342c665b573aa70c17
1 /*
2 Problem: 10446 - The Marriage Interview :-)
4 Author: Andrés Mejía-Posada
6 Method: Top down dynamic programming with memoization.
8 Accepted.
9 */
10 #include <iostream>
12 using namespace std;
14 unsigned long long memo[62][62];
16 unsigned long long trib(int n, int back){
17 if (n <= 1) return 1;
18 if (memo[n][back] == -1){
19 memo[n][back] = 1; //Esta invocación
20 for(int i=1; i<=back; i++){
21 memo[n][back] += trib(n-i, back);
24 return memo[n][back];
27 int main(){
28 int n, back, C = 1;
29 memset(memo, -1, sizeof memo);
30 while (cin >> n >> back && n <= 60){
31 cout << "Case " << C++ << ": " << trib(n, back) << endl;
33 return 0;